home *** CD-ROM | disk | FTP | other *** search
- Path: node238.fc.net!goochb
- From: goochb@rwi.com (William D. Gooch)
- Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk
- Subject: Re: Will Java kill C++?
- Date: Wed, 17 Apr 1996 09:46:53
- Organization: RothWell International
- Message-ID: <goochb.346.0009C850@rwi.com>
- References: <31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.n
- NNTP-Posting-Host: node238.fc.net
- X-Newsreader: Trumpet for Windows [Version 1.0 Rev A]
-
- In article <dbell-1504961320040001@wholder2.cts.com> dbell@shvn.com (Doug Bell) writes:
-
- >In article <goochb.339.00099333@rwi.com>, goochb@rwi.com (William D.
- >Gooch) wrote:
-
- >> In article <3170B180.51A8@concentric.net> "Alan L. Lovejoy"
- ><alovejoy@concentric.net> writes:
- >>
- >> >Another point to consider: Smalltalk (and LISP) would probably benefit
- from
- >> >a Java processor as much as would Java itself. At the "bytecode"
- level,
- >> >syntax differences and static typing are no longer relevant.>>
-
- >> Excellent point. Anyone know how many bits are in a Java
- >> machine word?
-
- >Er...A byte is usually 8-bits. That's what a bytecode is in this case at
- least.
-
- My reference to "Java machine" was about hardware, not the
- virtual machine. Bytecoding has little to do with this - issues
- such as handling 32-bit and 64-bit numeric values efficiently are
- more relevant.
-
- Having thought about what Alan said a bit more, I now think that
- Java hardware probably won't do a whole lot for Lisp or Smalltalk,
- because Java is statically typed. The same reasoning indicates,
- I believe, that the speed improvements to be gained from special-
- purpose Java hardware are not likely to be as significant as those
- that have been seen for Lisp machines. This will most likely make it
- harder for Java hardware to compete with conventional hardware
- than it has been for Lisp machines.
-
- Lisp machines, for example, have 36 or more bits/word, to accomodate
- data type and other tag bits along with a full 32-bit numeric value.
- Conventional hardware with 32-bit words obviously can't handle
- tags and still have 32 bits left over for numeric data. This means that
- Lisp on conventional hardware frequently uses two words where a
- statically typed language only needs one word.
-
- Java hardware would not need data type tags because of static
- typing. Thus, Java machine words would not be long enough to
- work very well for Lisp (probably the same is true for Smalltalk).
- Lisp machines have also made use of parallel type-checking hard-
- ware, which again is not needed for a statically typed language.
-
- There are other tag bits on Lisp machine words which contain non-
- numeric data. Pointers use additional tags for "cdr-coding," which
- is specifically to support compactness and speed in the handling of
- list structures, which are fundamental in Lisp. This further limits the
- address space, because it uses up some of the remaining 32 bits,
- and this has led to the most recent Lisp hardware architectures
- using a word size greater than 36 bits.
-
- One area where Java hardware may incorporate some enhancements
- that have proved valuable with Lisp machines is garbage collection.
-
- ~~~~~~~~~~~~~~~~~~~~~~
- William D. Gooch
- RothWell International
- goochb@rwi.com
- Texas liaison for the International Programmers Guild
- For information on IPG, see http://www.ipgnet.com/ipghome.htm
- ~~~~~~~~~~~~~~~~~~~~~~
-